iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0
AI/ ML & Data

粗暴的資料處理 DuckDB系列 第 7

Day07 -- DuckDB Style SQL (1) ?

  • 分享至 

  • xImage
  •  

friendly-sql

DuckDB 其中一個受到廣泛喜愛的特性就是 Friendly SQL,我個人都把這種 SQL 叫做范特西 SQL,DuckDB 的 SQL dialet 是基於 Postgres dialet fork 的,所以你可以預期,幾乎所有的 Postgres SQL 都相容於 DuckDB。 不過 Friendly SQL 指的是 DuckDB 在其上針對使用者體驗,進行優化的擴充,舉例來說

在前幾天的時候,我們看到了可以直接 query 一個 url 上的 Parquet , CSV 檔案,這個特性叫做 Replacement Scan。 這幾乎是所有人都愛不釋手的一個擴充,Replacement Scan 指的是如果
看到有 .csv .parquet 結尾的字串出現在 FROM 後面,DuckDB 會自動把這個路徑的檔案,當作一個 Table ,你不用在手動 COPY 、 Import 、 Insert 等等在其他 Database 中必要的匯入動作。 我基本上遇到任何 CSV 檔案現在都只會想用 DuckDB 分析,因為 Replacement Scan 真的太方便了 😍

接著我們談談很多人在學 SQL 的時候都會有的疑問? 為什麼 FROM 不是作為 SQL 的第一個 Clause ?

其實沒有為什麼,當初 IBM 的大師們這樣設計而已。

那我們可以改變嗎? 當然可以。
所以 DuckDB 結合 Replacement ScanFROM frist SQL 以下這句 SQL 你絕對會愛不釋手

FROM 'https://ironman24.douenergy.com/employees.parquet'

這句 SQL 代表就是,

SELECT * 
FROM 'https://ironman24.douenergy.com/employees.parquet'

的縮寫

趕快到 Colab 或是 DuckDB WASM 試試看吧 !


上一篇
Day06 -- Who is using DuckDB (5) ?
下一篇
Day08 -- DuckDB Style SQL (2) ?
系列文
粗暴的資料處理 DuckDB30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言